home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_09 / barbu2 / showdata.cpp < prev    next >
C/C++ Source or Header  |  1995-05-10  |  2KB  |  83 lines

  1. /////////////////////////////////////////////////////
  2. //    SHOWDATA implementation
  3. /////////////////////////////////////////////////////
  4. #include "SHOWDATA.HPP"
  5. #include "MODALDLG.HPP"
  6.  
  7. #include <stdlib.h>
  8. #include <stdio.h>
  9.  
  10. SHOWDATA::SHOWDATA(
  11.     const char szStorFile[], const char szStorSect[])
  12.     : ASSOCMEM(),
  13.     _name(szStorFile),
  14.     _sect(szStorSect ? szStorSect : "DEFAULT")
  15. {
  16. _dlg = 0;
  17. }
  18.  
  19. SHOWDATA::~SHOWDATA()
  20. {
  21. if(_dlg != 0){
  22.     delete _dlg;
  23.     _dlg = 0;
  24.     }
  25. }
  26.  
  27. const char* SHOWDATA::get(const char szS[],
  28.                         STR& Val) const
  29. {
  30. int k;
  31. int i = 80;
  32. while (TRUE){
  33.     STR temp(i);
  34.     k = GetPrivateProfileString(_sect, szS, Val,
  35.             (char*)(const char*)temp, i, _name);
  36.     if(k < i-1){
  37.         Val = temp;
  38.         return Val;
  39.         }
  40.     else    i *= 2;
  41.     }
  42. }
  43.  
  44. int SHOWDATA::get(const char szS[], int nDef) const
  45. {
  46. return GetPrivateProfileInt(_sect, szS, nDef, _name);
  47. }
  48.  
  49. void SHOWDATA::set(const char szS[], const char szVal[])
  50. {
  51. WritePrivateProfileString(_sect, szS, szVal, _name);
  52. }
  53.  
  54. void SHOWDATA::set(const char szSym[], int nNumValue)
  55. {
  56. char Buff[16];
  57. itoa(nNumValue, Buff, 10);
  58. WritePrivateProfileString(_sect, szSym, Buff, _name);
  59. }
  60.  
  61. SHOWDATA::RET
  62. SHOWDATA::modalDlg(HWND hWndParent,
  63.             HINSTANCE hInst,
  64.             const char szDescFile[],
  65.             const char szDescSect[],
  66.             const char szResourceType[])
  67. {
  68. RET Ret;
  69. if(0 != _dlg)
  70.     return INTERNALERR;
  71. _dlg = new MODALDLG(this, hWndParent, hInst,
  72.             szDescFile, szDescSect, szResourceType);
  73. if(0 == _dlg)
  74.     return MEMORYOUT;
  75. Ret = _dlg->isValid();
  76. if(OK != Ret)
  77.     return Ret;
  78. Ret = _dlg->run();
  79. delete _dlg;
  80. _dlg = 0;
  81. return Ret;
  82. }
  83.